package cn.datawin.cmppprovider.util;

import java.util.Random;

public class RandUtil {

    private static final String[] stats = {"GB:0001", "GB:0002", "GB:0003", "GB:0004", "GB:0005", "GB:0006", "GB:0007", "GB:0008",
            "GB:0009", "GB:0010", "GB:0011", "GB:0012", "GB:0013", "GB:0014", "GB:0015", "GB:0016"};
//    private static final String[] stats = {"E:CHAN", "E:SM30", "MK:0660", "REJECT:", "UT:0016" , "UT:0026", };

    public static Random random = new Random();

    public static int getForDelivery() {
        //随机产生[0;1;2],0出现的概率为20%，1出现的概率为60%，2出现的概率为20%
        int a = random.nextInt(100);//随机产生[0,100)的整数，每个数字出现的概率为1%
//        int b = 0; //需要的结果数字
        if (a < 97) { //前95个数字的区间，代表95%的几率
            return 0;
        }
        if (a < 98) {//[95,98)，3个数字的区间，代表3%的几率
            return 1;
        }
        //[98,100)，2个数字区间，代表2%的几率
        return 1;
    }
    public static int getForLongMsgDelivery() {
        int a = random.nextInt(100);
        if (a < 95) {
            return 0;
        }
        return 1;
    }

    public static String getReportStat() {
//        GB:0001 分钟级流控
//        GB:0002 小时级流控
//        GB:0003 天级流控
//        GB:0004 签名不合规
//        GB:0005 签名黑名单
//        GB:0006 号码无效
//        GB:0007 无通道路由
//        GB:0008 用户退订
//        GB:0009 长短信拼接失败
//        GB:0010 关键字拦截
//        GB:0011 号码黑名单
//        GB:0012 人工驳回
//        GB:0013 模版错误
//        GB:0014 用户欠费
//        GB:0015 获取运营商出错
//        GB:0016 营销退订拦截

        int index = random.nextInt(stats.length);
        return stats[index];
    }

    public static int getForSgip() {
        int num = random.nextInt(10) + 2;
        return num;
    }

}
